1. Field of the Invention
The invention relates generally to the field of computer software and, more specifically, to parallel computation of computationally expensive parameter changes.
2. Description of the Related Art
A graphics software application offers users a tool to design and model graphics objects within a graphics scene. Each graphics object within a graphics scene is associated with one or more parameters having respective parameter values. For example, a graphics object representing a light source may be associated with a brightness parameter. The graphics software application provides user-interface (UI) elements that allow users to modify parameter values of the different parameters by manipulating the UI elements. Some examples of UI elements include sliders, dropdown boxes, and text boxes. For example, a user may modify a parameter value of a brightness parameter associated with a graphics object using a slider UI element.
Most graphics software applications provide real-time feedback to a user when a parameter associated with a graphics object is modified, i.e., the results of changing the parameter value associated with the parameter is displayed on a display device to the user in real-time. For example, in the case of modifying the brightness parameter associated with the graphics object representing the light source, the user may manipulate a slider UI element and simultaneously view the changing brightness of the graphics object. The real-time feedback provided by the manipulation of a UI element allows the user to more quickly achieve the desired results.
To provide the user with the benefits of providing real-time feedback when a UI element is manipulated, the graphics software application computes the results of a modified parameter value in real-time. However, some computations involve time-intensive operations and the graphics software application is not able to compute the results of the modified parameter value as the user manipulates the UI element. In such cases, the user waits for the results of the computation associated with the modified parameter value to be displayed, views the results of the modified parameter value, and then determines the necessary adjustments to the parameter value. Consequently, the user spends a significant amount of time waiting for the result of each iteration of modifying the parameter values to be computed.
As the foregoing illustrates, what is needed is an effective technique for viewing the results of computationally expensive modifications to parameter values associated with a graphics object and/or a graphics scene.